<?php
/**
 * Page de test de la classe dirapHttpAccept 
 *
 * Créé le : 20 juin 07 - Encodage UTF-8
 * 
 * @package    HTTP
 * @author     Philippe MARASSE <philippe.marasse@ac-poitiers.fr>
 * @copyright  2007 D.I.R. Académie de Poitiers
 * @license    http://www.opensource.org/licenses/gpl-license.php
 * @version    CVS: $Id: test-dirapHttpAccept.php,v 1.2 2007/06/20 10:25:06 philippe Exp $
 *  
 */
header ('Content-Type: text/html; charset=utf-8');
require_once '../class.dirapHttpAccept.inc.php';

$acc = dirapHttpAccept::getInstance();

?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Tests de la classe dirapHttpAccept</title>
</head>
<body>
<h2>Jeux de caractères</h2>
<p>Acceptés par le client :
<ul><?php
    $jeux = $acc->getCharsetAccept();
    foreach ($jeux as $cle=>$qualite) {
        print "<li> Jeu: [$cle], qualité: [$qualite]"; 
    }
?></ul>
<br />Le client accepte-t-il ?
<ul>
<?php
    print "<li>latin1 (".dirapHttpAccept::CHARSET_LATIN1."): ";
    if (($q=$acc->getCharsetQuality(dirapHttpAccept::CHARSET_LATIN1)) > 0) {
        print "oui à $q";
    } else {
        print "non";
    }
    print "</li>\n<li>Unicode (".dirapHttpAccept::CHARSET_UNICODE.") : ";
    if (($q=$acc->getCharsetQuality(dirapHttpAccept::CHARSET_UNICODE)) > 0) {
        print "oui à $q</li>";
    } else {
        print "non</li>";
    }
    print "</li>\n<li>ISO-8859-15 : ";
    if (($q=$acc->getCharsetQuality('ISO-8859-15')) > 0) {
        print "oui à $q";
    } else {
        print "non";
    }
    print "</li>\n<li>ISO-8859-1 : ";
    if (($q=$acc->getCharsetQuality('ISO-8859-1')) > 0) {
        print "oui à $q";
    } else {
        print "non";
    }
    print " (doit être indépendant de la casse)</li>";
    ?>
</ul>
<br />Tout jeu de caractère demandé et non accepté par le client se voit 
attribuer 0 (zéro) si le jeu générique n'est pas fourni (*), ou la valeur du jeu
générique s'il est fourni. Actuellement <?php
    if (($q=$acc->getCharsetQuality(dirapHttpAccept::CHARSET_ALL)) > 0) {
        print "il est fourni avec la qualité $q.";
    } else {
        print "il n'est pas fourni.";
    }
?><br />Attention ! Internet Explorer 6 semble ne pas fournir d'entête Accept-Charset
</p>
<h2>Types MIME acceptés</h2>
<ul><?php
    $jeux = $acc->getMimeAccept();
    foreach ($jeux as $cle=>$qualite) {
        print "<li> Type: [$cle], qualité: [$qualite]"; 
    }
?></ul>
<br />Le client accepte-t-il ?
<ul>
<?php
    print "<li>le HTML (".dirapHttpAccept::MIME_HTML.") : ";
    if (($qh=$acc->getMimeQuality(dirapHttpAccept::MIME_HTML)) > 0) {
        print "oui à $qh";
    } else {
        print "non (!!)";
    }
    print "</li><li>le XML (".dirapHttpAccept::MIME_TEXT_XML.") : ";
    if (($qx=$acc->getMimeQuality(dirapHttpAccept::MIME_TEXT_XML)) > 0) {
        print "oui à $qx";
    } else {
        print "non.";
    }
    print "</li><li>le XHTML (".dirapHttpAccept::MIME_XHTML.") : ";
    if (($qxh=$acc->getMimeQuality(dirapHttpAccept::MIME_XHTML)) > 0) {
        print "oui à $qxh";
    } else {
        print "non.";
    }
    print "</li><li>le audio/ac3 : ";
    if (($qxh=$acc->getMimeQuality('audio/ac3')) > 0) {
        print "oui à $qxh";
    } else {
        print "non.";
    }
    print"</li>";
?>
</ul>
<br/>Tout type MIME non fourni doit tomber vers le type générique */*, <?php
    if (($q = $acc->getMimeQuality(dirapHttpAccept::MIME_ALL)) > 0) {
        print "fourni à qualité = $q";
    } else {
        print "non fourni";
    }
?><br />Attention ! Internet Explorer 6 semble oublier de renvoyer l'entête 
Accept complet lorsqu'on actualise une page... il se contente de */*.
</body>
</html>
